package com.wzdigit.wms.common.utils;
import java.text.SimpleDateFormat;

/**
 * 流程编号规则生成工具类
 * 流程编号：4位年份+4位日期+13位时间戳
 * 业务参考号可在前后加相应标识 例如： EQP+流程编号+_0_01
 * @author borui_zhuang
 * @date 2020-05-18
 */
public class UniqueIdUtil {

    /**
     * 末尾的数字id
     */
    public static int Guid=100;

    public static String getGuid() {

        UniqueIdUtil.Guid+=1;

        //获取时间戳
        long now = System.currentTimeMillis();
        //获取4位年份数字
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy");
        //获取4位日期数字
        SimpleDateFormat dateFormatMD=new SimpleDateFormat("MMdd");
        //字符串拼接
        String time=dateFormat.format(now) + dateFormatMD.format(now);
        String info=now+"";
        //获取三位随机数
        //int ran=(int) ((Math.random()*9+1)*100);
        //要是一段时间内的数据连过大会有重复的情况，所以做以下修改
        int ran=0;
        if(UniqueIdUtil.Guid>999){
            UniqueIdUtil.Guid=100;
        }
        ran=UniqueIdUtil.Guid;
        // return "CBS"+time+info+ran+"_0_01";
        return time+info;
    }
}
